package com.yumeng.common.data.annotations;

import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.*;

/**
 * 数据范围
 * 比如用户是企业用户，查询时，自动仅查询本企业数据
 * @author wxd
 * @date 2022/11/3 9:11
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataScope {

    @AliasFor("scopeKeys")
    String[] value() default {};

    /**
     * 数据过滤范围标记值
     * @return
     */
    @AliasFor("value")
    String[] scopeKeys() default {};

    DataScopeItem[] scopeItems() default {};

    /**
     * 超级管理员忽略该限制
     * @return
     */
    boolean ignoreSuperAdmin() default true;
}
